Electronic storage devices that respectively employ a memory system that includes memory devices, memory chips, or modules that use non-volatile memory cells are commonly known and are sometimes referred to as solid state storage devices. The computer device industry has increased the adoption of these solid state storage devices due to certain advantages offered by these types of storage devices over other forms of storage devices, such as rotational drives. The adoption of solid state storage devices as an enhancement or even as replacements to rotational drives is not without some difficulty because many conventional computer devices, sometimes referred to as “hosts”, use host operating systems, file systems, or both that are optimized for use with rotational drives rather than solid state storage devices. For example, unlike rotational drives, solid state storage devices that use NAND flash memory, also referred to as “flash drives”, suffer from write cycle limitations and to a certain degree, bad blocks. In addition, flash drives use block addressing rather than byte addressing, and these flash drives use block addresses that are usually much larger than the block address used by the host. Block addressing may impose an additional level of complexity and additional processing cycles when performing a write operation, and which in turn, may increase write operation latency. This additional level of complexity may include performing a read-modify-write transaction to complete the write operation.
Many conventional host operating and file systems, however, do not employ mechanisms to solve these write cycle, bad block, or block level addressing issues. Consequently, flash drive manufacturers sometimes employ, at the storage device level, flash memory related techniques that include read-modify-write transactions, wear leveling, bad block management or any combination of these to minimize or manage the write cycle limitation and bad blocks common to flash drives. Other host file systems, such as file systems that employ a write in place method, might use a “flash translation layer” to avoid excessive wear to a particular block of flash memory.
The use of these flash memory related techniques at the storage device level, or a flash translation layer at the host level, however, may decrease storage device performance, increase transaction or memory operation latency, or render the storage device as a primary bottleneck to the processing efficiency of a host or a computing network. In response, some solid state storage device manufacturers have implemented “brute force” or active solutions that include using more complex algorithms and “faster” processing devices, such as CPUs, to handle and process these algorithms. These active solutions, however, increases device costs and in most cases, design complexity.
Consequently, a need exists for a solution that optimizes memory operations performed by or in an electronic storage device with a relatively minimal increase in device complexity and costs. These optimizing memory operations include increasing the likelihood that, in response to an I/O transaction initiated by a host, the operational load imposed on the storage device by these memory operations will be optimally distributed across different storage device resources, such as by interleaving or parallel memory operations, reducing memory operation latency, increasing operational device efficiency, or both.